Typical computer systems, especially computer systems using graphical user interface (GUI) systems such as Microsoft WINDOWS, are optimized for accepting user input from one or more discrete input devices such as a keyboard for entering text, and a pointing device such as a mouse with one or more buttons for driving the user interface. The ubiquitous keyboard and mouse interface provides for fast creation and modification of documents, spreadsheets, database fields, drawings, photos and the like. However, there is a significant gap in the flexibility provided by the keyboard and mouse interface as compared with the non-computer (i.e., standard) pen and paper. With the standard pen and paper, a user edits a document, writes notes in a margin, and draws pictures and other shapes and the like. In some instances, a user may prefer to use a pen to mark-up a document rather than review the document on-screen because of the ability to freely make notes outside of the confines of the keyboard and mouse interface.
Some computer systems permit a user to draw on a screen. For example, the Microsoft READER application permits one to add electronic ink (also referred to herein as “ink”) to a document. The system stores the ink and provides it to a user when requested. Other applications (for example, drawing applications as known in the art are associated with the Palm 3. x and 4. x and PocketPC operating systems) permit the capture and storage of drawings. These drawings include other properties associated with the ink strokes used to make up the drawings. For instance, line width and color may be stored with the ink. One goal of these systems is to replicate the look and feel of physical ink being applied to a piece of paper. However, physical ink on paper may have significant amounts of information not captured by the electronic collection of a coordinates and connecting line segments. Some of this information may include the thickness of the pen tip used (as seen through the width of the physical ink), the shape of the pen tip, the speed at which the ink was deposited, and the like.
Another problem has arisen in the storage of ink. The fact that ink may be created from number of different platforms (for example, from interactions between a stylus and a digitizer, from a mouse and the like) yields a variety of ink sizes (based at least in part on the resolution and sampling frequency of the digitizer or ink input system). To reduce the size of created ink with its variety of data points, one technique includes normalizing the size of the ink from the coordinate system in which it has been captured (referred to herein as the ink's native coordinates) to a different coordinate system. This normalization may have devastating effects on the ability of a handwriting recognition system to recognize and appropriately treat ink. For instance, FIG. 12A shows ink with 30 data points in its native coordinates (labeled A-AD). A handwriting recognition system may recognize the ink to spell out the word “ball.” The data points may be represented by the following table:
PointXYA22B43C54D66E610F512G48H44I52J74K64L74M94N104O92P101Q114R122S144T147U139V135W142X152Y175Z187AA169AB164AC172AD192
However, the device or system that captured the ink of FIG. 12 A may need to decrease the size of the captured ink or may need to scale down the ink so as to be used properly by an application. An example of this decrease in size or scaling may be to divide all data points by 4. In binary representation, this means that the least significant bit and the second least significant bit are eliminated. One may, for example, use the following table to show a binary division by 4.
NumberBinaryBinary/4Number/4 1100 21000 31100 410011 510111 611011 711111 81000102 910011021010101021110111021211001131311011131411101131511111131610000100417100011004181001010041910011100420101001015
Application of this process results in the quantization of the ink. Other quantizations or roundings are possible.
The original set of coordinates when divided by 4 is as follows:
PointXYA00B10C11D11E12F13G12H11I10J11K11L11M21N21O20P20Q21R30S31T31U32V31W30X30Y41Z41AA42AB41AC40AD40
FIG. 12B shows the resulting sets of data points. Here, a handwriting recognition system would likely interpret the ink of FIG. 12B as “lill” or “lell” or the like, far from the original ink meaning of “ball.” It is noted that any loops in the rendered ink are due primarily to curve fitting algorithms in the present rendition of FIG. 12B. It is equally as likely that a tighter fitting curve-fitting algorithm would reduce the loops in FIG. 12B, thus making the ink even more meaningless and/or less recognizable. In short, attempting to work from transformed ink may yield poor results.
A further problem is shown in FIG. 13. Ink captured on one environment may be distorted when displayed, rendered, or printed, in another environment. In general, tablets capture in a first coordinate system and covert the ink to a second coordinate system. This process is generally handled by the capturing system (for example, a digitizer tablet) itself. An application using the ink received from the tablet only sees the ink in relation to the second coordinate system. If the application (for example, a word processing program) receives ink from a number of different tablets, the possibility exists that the second coordinate systems may be incompatible. FIG. 13 shows a possible incompatibility among captured ink. Specifically, FIG. 13 includes a first tablet 1301 with a capture resolution of 800×400. Other tablets 1302, 1303, and 1304 are shown with different resolutions of 200×200, 400×400 and 1000×1000, respectively. In each tablet context, the word “hi” was written. Despite the standard size of the word “hi” in all tablet contexts, the outputs of each tablet results in the ink having a different size. The comparative sizes of the ink from the tablets 1301-1304 are shown in output 1305. Here, the transformation that was applied to each ink is as follows:                1) The output of tablet 1301 was divided by 2;        2) The output of tablet 1302 was multiplied by 2;        3) The output of tablet 1303 was not modified (or modified by a factor of 1); and,        4) The output of tablet 1304 was not modified (or modified by a factor of 1).        
The ink from tablet 1304 has kept the same coordinate system yet the ink is so large that it dwarfs the other ink in output 1305, despite the fact that the ink of tablet 1304 was originally created with the same size drawing on the tablet 1304.
Yet another problem with handling ink occurs in compression of the ink after scaling. FIG. 14A shows the statistical distribution of sample ink before scaling (0, 1, −1, 2, −2, 3, −3, . . . ). FIG. 14B shows the ink when the ink has been scaled by multiplying the ink coordinates by a factor of 2 (0, 2, −2, 4, −4, 6, −6, . . . ). Here, the information contained within the ink of FIGS. 14A and 14B has not significantly changed. However, compressing the ink has become more difficult as larger numbers are used to represent the ink coordinates. FIG. 14C shows a more complex example of scaling ink. Here, the original ink of 14A was multiplied by a factor of 1.5. Alternatively, the ink of FIG. 14B was multiplied by a factor of 0.75. The resulting distribution of ink has become more complex as seen by the side lobes surrounding each primary peak (0, 1.5, −1.5, 3.0, −3.0, 4.5, −4.5, . . . ). The information contained within the ink has not significantly changed. However, the data used to convey the information contained within the ink has become more complex. In one example, the complexity may have increased due to the increase in distribution of the second derivatives of coordinate values (also referred to as a delta-delta distribution). Compression of the ink has become more complex as the number of different peaks of information has increased. In short, scaling of the ink may have detrimental effects on the compressibility of the ink.
Accordingly, an improved system is needed for storing information with its associated properties that minimize the size of the data used to represent the desired information.